From 3b7e5e3492684b3d08f37cb078d6eec3fa4da0b2 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 8 Feb 2023 10:13:03 -0800 Subject: rm uuid route --- src/routes/(app)/send/invoice/[id]/+page.server.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/routes/(app)/send/invoice/[id]/+page.server.js (limited to 'src/routes/(app)/send/invoice/[id]/+page.server.js') diff --git a/src/routes/(app)/send/invoice/[id]/+page.server.js b/src/routes/(app)/send/invoice/[id]/+page.server.js new file mode 100644 index 00000000..6b7823ce --- /dev/null +++ b/src/routes/(app)/send/invoice/[id]/+page.server.js @@ -0,0 +1,30 @@ +import { error, fail, redirect } from '@sveltejs/kit'; +import { btc as asset, auth, get, post } from '$lib/utils'; + +export async function load({ params: { id }, parent }) { + let { user } = await parent(); + + let { amount, address, tip, text, user: recipient } = await get(`/invoice/${id}`); + if (recipient.username === user.username) throw error(500, { message: 'Cannot send to self' }); + if (tip) amount += tip; + return { amount, address, payreq: text, recipient }; +} + +export const actions = { + default: async ({ cookies, request }) => { + try { + let body = Object.fromEntries(await request.formData()); + let { confirmed } = body; + + if (!confirmed) { + return fail(400, { amount, confirm: true }); + } + + await post('/payments', body, auth(cookies)); + } catch (e) { + return fail(400, { message: e.message }); + } + + throw redirect(307, '/sent'); + } +}; -- cgit v1.2.3